package cn.b.sky.mes.andon.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import cn.b.sky.mes.andon.model.MessageRuleItem;
import cn.b.sky.mes.andon.model.condition.MessageRuleItemCondition;

/**
 * 
 * <strong>Title : MessageRuleItemDao.java<br></strong>
 * <strong>Package : cn.b.sky.mes.andon.dao<br></strong>
 * <strong>Description : </strong>消息规则条目相关数据库操作接口定义<br> 
 * <strong>Create on : 2016-10-17 下午03:04:40<br></strong>
 * <p>
 * @author JunLin.Yang<br>
 * @version <strong>v1.0.0</strong><br>
 */
public interface MessageRuleItemDao {
	
		/**
  	 * 
  	 * <strong>Title : insertMessageRuleItem<br></strong>
  	 * <strong>Description : </strong>新增消息规则条目数据<br> 
  	 * <strong>Create on : 2016-10-17 下午03:04:40<br></strong>
  	 * <p>
  	 * @param data 消息规则条目
  	 * @return
  	 * int 新增记录数
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
 		 */
  public int insertMessageRuleItem(MessageRuleItem data);
  
  	/**
  	 * 
  	 * <strong>Title : updateMessageRuleItem<br></strong>
  	 * <strong>Description : </strong>更新消息规则条目数据<br> 
  	 * <strong>Create on : 2016-10-17 下午03:04:40<br></strong>
  	 * <p>
  	 * @param data 消息规则条目
  	 * @return
  	 * int 更新的记录数
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
  	 */
  	public int updateMessageRuleItem(MessageRuleItem data);
  	
  	
  	/**
  	 * 
  	 * <strong>Title : deleteMessageRuleItem<br></strong>
  	 * <strong>Description : </strong>删除消息规则条目数据<br> 
  	 * <strong>Create on : 2016-10-17 下午03:04:40<br></strong>
  	 * <p>
  	 * @param data 消息规则条目
  	 * @return
  	 * int 删除的记录数
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
  	 */
  	public int deleteMessageRuleItem(MessageRuleItem data);
  	
  	
  	/**
  	 * 
  	 * <strong>Title : getMessageRuleItemsCount<br></strong>
  	 * <strong>Description : </strong>查询所有的消息规则条目数据记录数<br> 
  	 * <strong>Create on : 2016-10-17 下午03:04:40<br></strong>
  	 * <p>
  	 * @return
  	 * long 数据记录数
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
  	 */
  	public long getMessageRuleItemsCount();
  	
  	/**
  	 * 
  	 * <strong>Title : selectMessageRuleItems<br></strong>
  	 * <strong>Description : </strong>查询所有的消息规则条目数据<br> 
  	 * <strong>Create on : 2016-10-17 下午03:04:40<br></strong>
  	 * <p>
  	 * @return
  	 * List<MessageRuleItem> 所有的消息规则条目数据
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
  	 */
  	public List<MessageRuleItem> selectMessageRuleItems();
  	
  	/**
  	 * 
  	 * <strong>Title : deleteMessageRuleItemByPrimaryKey<br></strong>
  	 * <strong>Description : </strong>根据主键信息删除消息规则条目数据<br> 
  	 * <strong>Create on : 2016-10-17 下午03:04:40<br></strong>
  	 * <p>
	 * @param id ID
	 * @return
  	 * int 删除的记录数
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
  	 */
  	public int deleteMessageRuleItemByPrimaryKey(@Param("id")Long id);
  	
  /**
	 * 
	 * <strong>Title : getMessageRuleItemByPrimaryKey<br></strong>
	 * <strong>Description : </strong>根据主键查询消息规则条目对象<br> 
	 * <strong>Create on : 2016-10-17 下午03:04:40<br></strong>
	 * <p>
	 * @param id ID
	 * @return
	 * MessageRuleItem 消息规则条目对象
	 * @throws 
	 * @author JunLin.Yang<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	public MessageRuleItem getMessageRuleItemByPrimaryKey(@Param("id")Long id);
  
  /**
	 * 
	 * <strong>Title : existMessageRuleItemByPrimaryKey<br></strong>
	 * <strong>Description : </strong>根据主键查询消息规则条目对象是否存在<br> 
	 * <strong>Create on : 2016-10-17 下午03:04:40<br></strong>
	 * <p>
	 * @param id ID
	 * @return
	 * boolean 数据是否存在
	 * @throws 
	 * @author JunLin.Yang<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	public boolean existMessageRuleItemByPrimaryKey(@Param("id")Long id);
  
  	/**
  	 * 
  	 * <strong>Title : existsMessageRuleItemByCondition<br></strong>
  	 * <strong>Description : </strong>根据查询对象查询消息规则条目数据是否存在<br> 
  	 * <strong>Create on : 2016-10-17 下午03:04:40<br></strong>
  	 * <p>
  	 * @param condition 消息规则条目查询对象
  	 * boolean 数据是否存在
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
  	 */
  	public boolean existsMessageRuleItemByCondition(MessageRuleItemCondition condition);
  	
  	/**
  	 * 
  	 * <strong>Title : deleteMessageRuleItemByCondition<br></strong>
  	 * <strong>Description : </strong>根据查询对象删除消息规则条目数据<br> 
  	 * <strong>Create on : 2016-10-17 下午03:04:40<br></strong>
  	 * <p>
  	 * @param condition 消息规则条目查询对象
  	 * int 删除的记录数
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
  	 */
  	public int deleteMessageRuleItemByCondition(MessageRuleItemCondition condition);
	
	
  /**
	 * 
	 * <strong>Title : getMessageRuleItemByCondition<br></strong>
	 * <strong>Description : </strong>根据查询条件查询对应消息规则条目对象<br> 
	 * <strong>Create on : 2016-10-17 下午03:04:40<br></strong>
	 * <p>
	 * @param condition 消息规则条目查询条件
	 * @return
	 * MessageRuleItem 消息规则条目对象
	 * @throws 
	 * @author JunLin.Yang<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	public MessageRuleItem getMessageRuleItemByCondition(MessageRuleItemCondition condition);
	
	/**
	 * 
	 * <strong>Title : selectMessageRuleItemsByCondition<br></strong>
	 * <strong>Description : </strong>根据查询条件查询消息规则条目集合<br> 
	 * <strong>Create on : 2016-10-17 下午03:04:40<br></strong>
	 * <p>
	 * @param condition 消息规则条目查询条件
	 * @return 
	 * List<MessageRuleItem> 消息规则条目集合
	 * @throws 
	 * @author JunLin.Yang<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	public List<MessageRuleItem> selectMessageRuleItemsByCondition(MessageRuleItemCondition condition);
	
	/**
	 * 
	 * <strong>Title : selectMessageRuleItemPageDataByCondition<br></strong>
	 * <strong>Description : </strong>根据查询条件查询相应分页的消息规则条目集合<br> 
	 * <strong>Create on : 2016-10-17 下午03:04:40<br></strong>
	 * <p>
	 * @param condition 消息规则条目查询条件
	 * @return 
	 * List<MessageRuleItem> 消息规则条目集合
	 * @throws 
	 * @author JunLin.Yang<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
	public List<MessageRuleItem> selectMessageRuleItemPageDataByCondition(MessageRuleItemCondition condition);

	/**
	 * 
	 * <strong>Title : getMessageRuleItemsCountByCondition<br></strong>
	 * <strong>Description : </strong>根据查询条件查询相应的消息规则条目记录数<br> 
	 * <strong>Create on : 2016-10-17 下午03:04:40<br></strong>
	 * <p>
	 * @param condition 消息规则条目查询条件
	 * @return
	 * long 数据记录数
	 * @throws 
	 * @author JunLin.Yang<br>
	 * @version <strong>v1.0.0</strong><br>
	 * <br>
	 * <strong>修改历史:</strong><br>
	 * 修改人 | 修改日期 | 修改描述<br>
	 * -------------------------------------------<br>
	 * <br>
	 * <br>
	 */
  	public long getMessageRuleItemsCountByCondition(MessageRuleItemCondition condition);
  	
  	/**
  	 * 
  	 * <strong>Title : selectMessageRuleItemsDetailByCondition<br></strong>
  	 * <strong>Description : </strong>根据查询条件查询消息规则明细数据集合<br> 
  	 * <strong>Create on : 2016年10月20日 下午1:47:04<br></strong>
  	 * <p>
  	 * @param condition 查询条件
  	 * @return
  	 * List<MessageRuleItem>
  	 * @throws 
  	 * @author JunLin.Yang<br>
  	 * @version <strong>v1.0.0</strong><br>
  	 * <br>
  	 * <strong>修改历史:</strong><br>
  	 * 修改人 | 修改日期 | 修改描述<br>
  	 * -------------------------------------------<br>
  	 * <br>
  	 * <br>
  	 */
  	public List<MessageRuleItem> selectMessageRuleItemsDetailByCondition(MessageRuleItemCondition condition);
  	
  
	
}
